// 用户认证工具函数

/**
 * 获取当前登录用户
 * @returns {Object|null} 用户对象或null
 */
export function getCurrentUser() {
  try {
    const userData = localStorage.getItem('user')
    if (userData) {
      const user = JSON.parse(userData)
      if (user && user.userId) {
        return user
      }
    }
    return null
  } catch (error) {
    console.error('获取当前用户失败:', error)
    localStorage.removeItem('user')
    return null
  }
}

/**
 * 检查用户是否已登录
 * @returns {boolean} 是否已登录
 */
export function isUserLoggedIn() {
  const user = getCurrentUser()
  return user !== null && user.userId !== undefined
}

/**
 * 清除用户认证信息
 */
export function clearUserAuth() {
  localStorage.removeItem('user')
  localStorage.removeItem('cart')
  localStorage.removeItem('checkoutItems')
}

/**
 * 设置用户认证信息
 * @param {Object} user 用户对象
 */
export function setUserAuth(user) {
  if (user && user.userId) {
    localStorage.setItem('user', JSON.stringify(user))
  }
}

/**
 * 验证用户权限
 * @param {number} requiredUserId 需要的用户ID
 * @returns {boolean} 是否有权限
 */
export function validateUserPermission(requiredUserId) {
  const currentUser = getCurrentUser()
  if (!currentUser) {
    return false
  }
  return currentUser.userId === requiredUserId
} 